Eclipse Platform
Pre-release 3.0

org.eclipse.ui.ide
Class IDE

java.lang.Object
  extended byorg.eclipse.ui.ide.IDE

public final class IDE
extends Object

Collection of IDE-specific APIs factored out of existing workbench. This class cannot be instantiated; all functionality is provided by static methods and fields.

Since:
3.0

Nested Class Summary
static interface IDE.Preferences
          Preferences defined by the IDE workbench.
static interface IDE.SharedImages
          Standard shared images defined by the IDE.
 
Field Summary
static String EDITOR_ID_ATTR
          An optional attribute within a workspace marker (IMarker) which identifies the preferred editor type to be opened.
static QualifiedName EDITOR_KEY
          The persistent property key used on IFile resources to contain the preferred editor ID to use.
static String RESOURCE_PERSPECTIVE_ID
          The resource based perspective identifier.
 
Method Summary
static List computeSelectedResources(IStructuredSelection originalSelection)
          Extracts and returns the IResources in the given selection or the resource objects they adapts to.
static IEditorDescriptor getDefaultEditor(IFile file)
          Returns the default editor for a given file.
static IMarkerHelpRegistry getMarkerHelpRegistry()
          Returns the marker help registry for the workbench.
static void gotoMarker(IEditorPart editor, IMarker marker)
          Sets the cursor and selection state for the given editor to reveal the position of the given marker.
static IEditorPart openEditor(IWorkbenchPage page, IFile input, boolean activate)
          Opens an editor on the given file resource.
static IEditorPart openEditor(IWorkbenchPage page, IMarker marker, boolean activate)
          Opens an editor on the file resource of the given marker.
static void setDefaultEditor(IFile file, String editorID)
          Sets the default editor id for a given file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EDITOR_KEY

public static final QualifiedName EDITOR_KEY
The persistent property key used on IFile resources to contain the preferred editor ID to use.

Example of retrieving the persisted editor id:


 IFile file = ...
 IEditorDescriptor editorDesc = null;
 try {
 	String editorID = file.getPersistentProperty(EDITOR_KEY);
 	if (editorID != null) {
 		editorDesc = editorReg.findEditor(editorID);
 	}
 } catch (CoreException e) {
 	// handle problem accessing persistent property here
 }
 

Example of persisting the editor id:


 IFile file = ...
 try {
 	file.setPersistentProperty(EDITOR_KEY, editorDesc.getId());
 } catch (CoreException e) {
 	// handle problem setting persistent property here
 }
 


EDITOR_ID_ATTR

public static final String EDITOR_ID_ATTR
An optional attribute within a workspace marker (IMarker) which identifies the preferred editor type to be opened.

See Also:
Constant Field Values

RESOURCE_PERSPECTIVE_ID

public static final String RESOURCE_PERSPECTIVE_ID
The resource based perspective identifier.

See Also:
Constant Field Values
Method Detail

getMarkerHelpRegistry

public static IMarkerHelpRegistry getMarkerHelpRegistry()
Returns the marker help registry for the workbench.

Returns:
the marker help registry

gotoMarker

public static void gotoMarker(IEditorPart editor,
                              IMarker marker)
Sets the cursor and selection state for the given editor to reveal the position of the given marker. This is done on a best effort basis. If the editor does not provide an IGotoMarker interface (either directly or via IAdaptable.getAdapter), this has no effect.

Parameters:
editor - the editor
marker - the marker

openEditor

public static IEditorPart openEditor(IWorkbenchPage page,
                                     IFile input,
                                     boolean activate)
                              throws PartInitException
Opens an editor on the given file resource.

If this page already has an editor open on the target file that editor is brought to front; otherwise, a new editor is opened. If activate == true the editor will be activated.

An appropriate editor for the file input is determined using a multistep process.

  1. The file input is consulted for a persistent property named IDE.EDITOR_KEY containing the preferred editor id to be used.
  2. The workbench editor registry is consulted to determine if an editor extension has been registered for the file type. If so, an instance of the editor extension is opened on the file. See IEditorRegistry.getDefaultEditor(String).
  3. The operating system is consulted to determine if an in-place component editor is available (e.g. OLE editor on Win32 platforms).
  4. The operating system is consulted to determine if an external editor is available.

Parameters:
page - the workbench page to open the editor in
input - the file to edit
activate - if true the editor will be activated
Returns:
an open editor or null if external editor open
Throws:
PartInitException - if the editor could not be initialized

openEditor

public static IEditorPart openEditor(IWorkbenchPage page,
                                     IMarker marker,
                                     boolean activate)
                              throws PartInitException
Opens an editor on the file resource of the given marker.

If this page already has an editor open on the marker resource file that editor is brought to front; otherwise, a new editor is opened. If activate == true the editor will be activated. The cursor and selection state of the editor are then updated from information recorded in the marker.

If the marker contains an EDITOR_ID_ATTR attribute the attribute value will be used to determine the editor type to be opened. If not, the registered editor for the marker resource file will be used.

Parameters:
page - the workbench page to open the editor in
marker - the marker to open
activate - if true the editor will be activated
Returns:
an open editor or null not possible
Throws:
PartInitException - if the editor could not be initialized

setDefaultEditor

public static void setDefaultEditor(IFile file,
                                    String editorID)
Sets the default editor id for a given file. This value will be used to determine the default editor descriptor for the file in future calls to getDefaultEditor(IFile).

Parameters:
file - the file

getDefaultEditor

public static IEditorDescriptor getDefaultEditor(IFile file)
Returns the default editor for a given file.

A default editor id may be registered for a specific file using setDefaultEditor. If the given file has a registered default editor id the default editor will derived from it. If not, the default editor is determined by taking the file name for the file and obtaining the default editor for that name.

Parameters:
file - the file
Returns:
the descriptor of the default editor, or null if not found

computeSelectedResources

public static List computeSelectedResources(IStructuredSelection originalSelection)
Extracts and returns the IResources in the given selection or the resource objects they adapts to.

Parameters:
originalSelection - the original selection, possibly empty
Returns:
list of resources (element type: IResource), possibly empty

Eclipse Platform
Pre-release 3.0

Copyright (c) IBM Corp. and others 2000, 2003. All Rights Reserved.